The present invention pertains to the field of computer systems. More particularly, this invention pertains to the field of sharing interrupts between disk drive controllers.
Computer systems typically include one or more disk drive devices. These drive devices are coupled to the system via controllers that are typically embedded in the system chipset. Usually, two drive devices can be supported by a single controller. Each of the drives coupled to the controller can signal an interrupt to the controller by causing an interrupt line to become asserted. The two drives coupled to the controller share a single interrupt line. Once an interrupt has been signaled, an interrupt handler routine running on a microprocessor determines which of the drives asserted the interrupt line.
Many computer systems provide two drive controllers that provide support for a total of four drives. One interrupt is provided for each drive controller. Most computer systems set aside two interrupts for hard drive support. The software written for these systems anticipates that only these two interrupts will be assigned to hard drive controllers.
In an effort to improve system performance and to reduce system costs, new drive interface technologies are being developed. It is likely that emerging drive interface technologies will need to co-exist with the current drive controllers described above. A problem exists in that in order for the newer technologies to co-exist with the current drive controllers, either additional interrupts will be required for the drive controllers or a technique for sharing the two available interrupts will be required. In order to support the new technologies and to avoid changing a large established base of software, it is more desirable to provide circuitry for sharing interrupts between the newer and the current drive controllers.